package framework

import (
	"game-simple/internal/framework/auth"
	"game-simple/internal/framework/system"

	"github.com/gin-gonic/gin"
)

// WebModule Web API 模块管理器
type WebModule struct {
	systemModule *system.Module
	authModule   *auth.Module
}

// NewWebModule 创建 Web API 模块实例
func NewWebModule() *WebModule {
	return &WebModule{
		systemModule: system.NewModule(),
		authModule:   auth.NewModule(),
	}
}

// SetupRoutes 设置 Web API 路由
func (m *WebModule) SetupRoutes(r *gin.Engine) {
	// 系统路由（无需认证）
	m.systemModule.RegisterRoutes(r.Group(""))

	// Web API 路由组（PC Web 端）
	api := r.Group("/api")
	{
		m.authModule.RegisterRoutes(api)
	}
}
